#pragma once
/************************************************************************/
/* 管理所有的服务实例(websocket,http, socket)                            */
/************************************************************************/

#include "comm_def.h"
#include "WebManagerPair.h"
#include "SocketManagerPair.h"
#include "MessageQueueManager.h"
#include "ProcManager.h"


#include <memory>

class ServerManager
{
public:
	static SessionType _SsessionIndex;
	static std::mutex _SSessionMutex;
	static SessionType SGetSessionIndex();

public:
	ServerManager();
	bool InitServerManager();
	void StartServerManager();
	virtual ~ServerManager();

public:
	std::shared_ptr<WebManagerPair> _webMInst;
	std::shared_ptr<SocketManagerPair> _sockMInst;
	std::shared_ptr<ProcManager>	_procMInst;
	std::shared_ptr<MessageQueueManager> _messageQueue;
};

